package com.mp.approvalreq.entity.dto;

import java.math.BigDecimal;
import java.util.Objects;

/**
 * Created by liuqi on 2018/7/16.
 */
public class TemplateDTO {
	
	private Integer templateId;
	private String  createTime;
	private Integer isRelatedCostAnalysis;
	private String relateAnalysisNum;
	
	private String templateCc;
	private String templateName;
	private String requestFlow;
	private String templateColor;
	private Integer defaultType;
	
	private Integer ancestorId;
	private Integer isAllowAddTempCc;
	private Integer isRelatedWorkTime;
	private String disableTime;
	private Integer companyId;
	/**
	 *   0:表示全公司
	 *   -1:不指定部门,仅仅指定某些人可用
	 *   xx:指定某些部门可用
	 */
	private String departmentIds;
	private String specificRange;
	private String companyInfoIdRange;
	
	private Integer status;
	private Integer version;
	private BigDecimal amountTop;
	/**
	 *  每月最多申请次数
	 */
	private Integer maxTimePermonth;
	/**
	 *  每月剩余申请次数
	 */
	private Integer timesLeftThisMonth;
	private Integer contentTimeLimit;
	private Integer isMaxTime;
	private Integer generation;
	
	private String componentGroupJson;
	
	private String outSignOffset;


	private Integer participantRequired;

	public TemplateDTO() {
	}
	
	public String getOutSignOffset() {
		return outSignOffset;
	}
	
	public void setOutSignOffset(String outSignOffset) {
		this.outSignOffset = outSignOffset;
	}
	
	public String getComponentGroupJson() {
		return componentGroupJson;
	}
	
	public void setComponentGroupJson(String componentGroupJson) {
		this.componentGroupJson = componentGroupJson;
	}
	
	public Integer getTemplateId() {
		return templateId;
	}
	
	public void setTemplateId(Integer templateId) {
		this.templateId = templateId;
	}
	
	public String getCreateTime() {
		return createTime;
	}
	
	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}
	
	public Integer getIsRelatedCostAnalysis() {
		return isRelatedCostAnalysis;
	}
	
	public void setIsRelatedCostAnalysis(Integer isRelatedCostAnalysis) {
		this.isRelatedCostAnalysis = isRelatedCostAnalysis;
	}
	
	public String getRelateAnalysisNum() {
		return relateAnalysisNum;
	}
	
	public void setRelateAnalysisNum(String relateAnalysisNum) {
		this.relateAnalysisNum = relateAnalysisNum;
	}
	
	public String getTemplateCc() {
		return templateCc;
	}
	
	public void setTemplateCc(String templateCc) {
		this.templateCc = templateCc;
	}
	
	public String getTemplateName() {
		return templateName;
	}
	
	public void setTemplateName(String templateName) {
		this.templateName = templateName;
	}
	
	public String getRequestFlow() {
		return requestFlow;
	}
	
	public void setRequestFlow(String requestFlow) {
		this.requestFlow = requestFlow;
	}
	
	public String getTemplateColor() {
		return templateColor;
	}
	
	public void setTemplateColor(String templateColor) {
		this.templateColor = templateColor;
	}
	
	public Integer getDefaultType() {
		return defaultType;
	}
	
	public void setDefaultType(Integer defaultType) {
		this.defaultType = defaultType;
	}
	
	public Integer getAncestorId() {
		return ancestorId;
	}
	
	public void setAncestorId(Integer ancestorId) {
		this.ancestorId = ancestorId;
	}
	
	public Integer getIsAllowAddTempCc() {
		return isAllowAddTempCc;
	}
	
	public void setIsAllowAddTempCc(Integer isAllowAddTempCc) {
		this.isAllowAddTempCc = isAllowAddTempCc;
	}
	
	public Integer getIsRelatedWorkTime() {
		return isRelatedWorkTime;
	}
	
	public void setIsRelatedWorkTime(Integer isRelatedWorkTime) {
		this.isRelatedWorkTime = isRelatedWorkTime;
	}
	
	public String getDisableTime() {
		return disableTime;
	}
	
	public void setDisableTime(String disableTime) {
		this.disableTime = disableTime;
	}
	
	public Integer getCompanyId() {
		return companyId;
	}
	
	public void setCompanyId(Integer companyId) {
		this.companyId = companyId;
	}
	
	public String getDepartmentIds() {
		return departmentIds;
	}
	
	public void setDepartmentIds(String departmentIds) {
		this.departmentIds = departmentIds;
	}
	
	public String getSpecificRange() {
		return specificRange;
	}
	
	public void setSpecificRange(String specificRange) {
		this.specificRange = specificRange;
	}
	
	public String getCompanyInfoIdRange() {
		return companyInfoIdRange;
	}
	
	public void setCompanyInfoIdRange(String companyInfoIdRange) {
		this.companyInfoIdRange = companyInfoIdRange;
	}
	
	public Integer getStatus() {
		return status;
	}
	
	public void setStatus(Integer status) {
		this.status = status;
	}
	
	public Integer getVersion() {
		return version;
	}
	
	public void setVersion(Integer version) {
		this.version = version;
	}
	
	public BigDecimal getAmountTop() {
		return amountTop;
	}
	
	public void setAmountTop(BigDecimal amountTop) {
		this.amountTop = amountTop;
	}
	
	public Integer getMaxTimePermonth() {
		return maxTimePermonth;
	}
	
	public void setMaxTimePermonth(Integer maxTimePermonth) {
		this.maxTimePermonth = maxTimePermonth;
	}
	
	public Integer getTimesLeftThisMonth() {
		return timesLeftThisMonth;
	}
	
	public void setTimesLeftThisMonth(Integer timesLeftThisMonth) {
		this.timesLeftThisMonth = timesLeftThisMonth;
	}
	
	public Integer getContentTimeLimit() {
		return contentTimeLimit;
	}
	
	public void setContentTimeLimit(Integer contentTimeLimit) {
		this.contentTimeLimit = contentTimeLimit;
	}
	
	public Integer getIsMaxTime() {
		return isMaxTime;
	}
	
	public void setIsMaxTime(Integer isMaxTime) {
		this.isMaxTime = isMaxTime;
	}
	
	public Integer getGeneration() {
		return generation;
	}
	
	public void setGeneration(Integer generation) {
		this.generation = generation;
	}

	public Integer getParticipantRequired() {
		return participantRequired;
	}

	public void setParticipantRequired(Integer participantRequired) {
		this.participantRequired = participantRequired;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		TemplateDTO that = (TemplateDTO) o;
		return templateId.equals(that.templateId);
	}

	@Override
	public int hashCode() {
		return Objects.hash(templateId);
	}

	@Override
	public String toString() {
		return "TemplateDTO{" +
				"templateId=" + templateId +
				", createTime='" + createTime + '\'' +
				", isRelatedCostAnalysis=" + isRelatedCostAnalysis +
				", relateAnalysisNum='" + relateAnalysisNum + '\'' +
				", templateCc='" + templateCc + '\'' +
				", templateName='" + templateName + '\'' +
				", requestFlow='" + requestFlow + '\'' +
				", templateColor='" + templateColor + '\'' +
				", defaultType=" + defaultType +
				", ancestorId=" + ancestorId +
				", isAllowAddTempCc=" + isAllowAddTempCc +
				", isRelatedWorkTime=" + isRelatedWorkTime +
				", disableTime='" + disableTime + '\'' +
				", companyId=" + companyId +
				", departmentIds='" + departmentIds + '\'' +
				", specificRange='" + specificRange + '\'' +
				", companyInfoIdRange='" + companyInfoIdRange + '\'' +
				", status=" + status +
				", version=" + version +
				", amountTop=" + amountTop +
				", maxTimePermonth=" + maxTimePermonth +
				", timesLeftThisMonth=" + timesLeftThisMonth +
				", contentTimeLimit=" + contentTimeLimit +
				", isMaxTime=" + isMaxTime +
				", generation=" + generation +
				", componentGroupJson='" + componentGroupJson + '\'' +
				", outSignOffset='" + outSignOffset + '\'' +
				", participantRequired='" + participantRequired + '\'' +
				'}';
	}


}
